/**
 * @Title: ProjectManageService.java 
 * @Description: TODO
 * @author <a href="mailto:psammead@126.com">Psammead</a>
 * @date 2011-7-16 下午03:26:45 
 * @version 1.0
 * Copyright 2011 by Psammead
 */
package com.psammead.dms.project.service;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import com.psammead.dms.common.core.bo.Page;
import com.psammead.dms.project.entity.Project;

/**
 * @ClassName: ProjectManageService
 * @Description: TODO
 * @author <a href="mailto:psammead@126.com">psammead</a>
 * @version 1.0
 * @date 2011-7-16
 */
public interface ProjectService {

	/**
	 * 新增项目
	 * @Title: addProject
	 * @Description: TODO
	 * @param project 
	 * @return void
	 * @throws
	 */
	public void addProject(Project project);
	
	/**
	 * 修改项目
	 * @Title: updateProject
	 * @Description: TODO
	 * @param project 
	 * @return void
	 * @throws
	 */
	public void updateProject(Project project);
	
	/**
	 * 获取项目信息
	 * @Title: getProject
	 * @Description: TODO
	 * @param id
	 * @return Project
	 * @throws
	 */
	public Project getProject(long id);
	
	/**
	 * 删除项目
	 * @Title: deleteProject
	 * @Description: TODO
	 * @param id 
	 * @return void
	 * @throws
	 */
	public void deleteProject(long id);
	
	/**
	 * 查询项目列表结果
	 * @Title: queryProject
	 * @Description: TODO
	 * @param paramMap
	 * @param sortMap
	 * @return 
	 * @return List<Project>
	 * @throws
	 */
	public List<Project> queryProject(Map<String,Object> paramMap,
			LinkedHashMap<String, String> sortMap);

	/**
	 * 查询项目分页列表结果
	 * @Title: queryProject
	 * @Description: TODO
	 * @param paramMap
	 * @param sortMap
	 * @param pageNo
	 * @param pageSize
	 * @return 
	 * @return Page<Project>
	 * @throws
	 */
	public Page<Project> queryProject(Map<String,Object> paramMap,
			LinkedHashMap<String, String> sortMap, int pageNo, int pageSize );
	
}
